本发明公开了一种IP多媒体子系统性能测试的方法及装置,该方法包括:编制测试用例脚本;根据测试用例脚本和测试工具的控制参数编写脚本执行命令,其中,脚本执行命令用于向测试工具发出命令;编写性能数据采集命令脚本,其中,性能数据采集命令脚本用于在性能测试过程中进行数据采集;通过脚本执行命令和性能数据采集命令脚本调用测试工具执行性能测试,通过本发明,解决了相关技术中IMS系统性能测试中自动化程度不高,测试效率低的问题,进而达到了可以对性能数据进行自动化采集的效果。
1.一种IP多媒体子系统性能测试的方法,其特征在于,包括:编制测试用例脚本;根据所述测试用例脚本和测试工具的控制参数编写脚本执行命令,其中,所述脚本执行命令用于向所述测试工具发出命令;编写性能数据采集命令脚本,其中,所述性能数据采集命令脚本用于在性能测试过程中进行数据采集;通过所述脚本执行命令和所述性能数据采集命令脚本调用测试工具执行性能测试,其中,通过所述脚本执行命令和所述性能数据采集命令脚本调用测试工具执行性能测试包括:在测试终端编写第一cron配置文件,并在所述第一cron配置文件中引用所述脚本执行命令;在IP多媒体子系统核心网元调试机上编写第二cron配置文件,并在所述第二cron配置文件中引用所述性能数据采集命令脚本。
2.根据权利要求1所述的方法,其特征在于,在所述测试终端上编写所述脚本执行命令。
3.根据权利要求2所述的方法,其特征在于,在所述IP多媒体子系统核心网元调试机上编写所述性能数据采集命令脚本。
4.根据权利要求1所述的方法,其特征在于,所述脚本执行命令对所述测试用例脚本进行调用以时限对测试工具的控制,其中,对测试工具的所述控制包括:根据预定的曲线模型动态调整呼叫频率。
5.根据权利要求1所述的方法,其特征在于,将所述脚本执行命令和所述性能数据采集命令脚本以文件的形式进行保存。
6.根据权利要求1至5中任一项所述的方法,其特征在于,通过shell编程来编写所述脚本执行命令。
7.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:在预设的时间开始执行所述性能测试。
8.根据权利要求1至5中任一项所述的方法,其特征在于,将所述性能测试的结果写入日志文件中。
技术领域本发明涉及通信领域,具体而言,涉及一种IP多媒体子系统性能测试的方法及装置。xa0
背景技术通信网络性能测试在网络的建设和完善过程中起着非常重要的作用。目前,通信网已经成为人们必需的信息交流工具之一。通信网的重要性使得通信网的性能和稳定性必须满足很高的要求,以满足用户对通信业务质量越来越高的期盼和追求,提高用户满意度。IP多媒体子系统(IPxa0Multimediaxa0Subsystem,简称为IMS),作为下一代网络(Nextxa0Generationxa0Network,简称为NGN)发展的基础,是固定、移动网络融合的关键技术,也越来越被关注和重视。随着IMS技术的发展和通信运营商网络建设的需要,IMS的应用也逐步增多。IMS系统性能测试也随之成为系统开发和建设过程中一项非常重要的任务。xa0但是,由于IMS的发展和应用时间比较短,与之相配套的性能测试工具和测试设备发展也相对比较滞后,测试工具和设备的自动化程度不高,使本来就较为复杂的性能测试效率比较低下。系统性能测试的一项很重要的工作就是度量和验证系统相对于既定性能指标的差距,同时为系统性能提升和优化提供参考数据。一个新的系统版本发布后,性能测试人员首先要做的就是验证系统性能是否满足指标要求。由于性能测试的复杂性,测试人员在执行测试用例的xa0同时,需要不断采集各种性能数据,一轮性能指标验证测试往往要花费几十小时,甚至是几天的时间(具体所需时间跟系统复杂度有关),效率非常低。xa0针对相关技术中IMS系统性能测试中自动化程度不高,测试效率低的问题,目前尚未提出有效的解决方案。xa0
发明内容针对相关技术中IMS系统性能测试中自动化程度不高,测试效率低的问题而提出本发明,为此,本发明的主要目的在于提供一种IP多媒体子系统性能测试的方法及装置,以解决上述问题。xa0为了实现上述目的,根据本发明的一个方面,提供了一种IP多媒体子系统性能测试的方法。xa0根据本发明的IP多媒体子系统性能测试的方法包括:编制测试用例脚本;根据测试用例脚本和测试工具的控制参数编写脚本执行命令,其中,脚本执行命令用于向测试工具发出命令;编写性能数据采集命令脚本,其中,性能数据采集命令脚本用于在性能测试过程中进行数据采集;通过脚本执行命令和性能数据采集命令脚本调用测试工具执行性能测试。xa0优选地,在测试终端上编写脚本执行命令。xa0优选地,在IP多媒体子系统核心网元调试机上编写性能数据采集命令脚本。xa0优选地,通过脚本执行命令和性能数据采集命令脚本调用测试工具执行性能测试包括:在测试终端编写第一cron配置文件,并在第一cron配置文件中引用脚本执行命令;xa0在IP多媒体子系统核心网元调试机上编写第二cron配置文件,并在第二cron配置文件中引用性能数据采集命令脚本。xa0优选地,脚本执行命令对测试用例脚本进行调用以时限对测试工具的控制,其中,对测试工具的控制包括:根据预定的曲线模型动态调整呼叫频率。xa0优选地,将脚本执行命令和性能数据采集命令脚本以文件的形式进行保存。xa0优选地,通过shell编程来编写脚本执行命令。xa0优选地,上述方法还包括:在预设的时间开始执行性能测试。xa0优选地,将性能测试的结果写入日志文件中。xa0为了实现上述目的,根据本发明的另一方面,提供了一种IP多媒体子系统性能测试的装置。xa0根据本发明的IP多媒体子系统性能测试的装置包括:测试用例脚本;测试用例脚本执行模块,用于调用测试用例脚本以向测试工具发出命令;性能数据采集模块,用于在性能测试过程中进行数据采集。xa0通过本发明,采用编制测试用例脚本;根据测试用例脚本和测试工具的控制参数编写脚本执行命令,其中,脚本执行命令用于向测试工具发出命令;编写性能数据采集命令脚本,其中,性能数据采集命令脚本用于在性能测试过程中进行数据采集;通过脚本执行命令和性能数据采集命令脚本调用测试工具执行性能测试,解决了相关技术中IMS系统性能测试中自动化程度不高,测试效率低的问题,进而达到了可以对性能数据进行自动化采集的效果。xa0
附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:xa0图1是根据本发明实施例的IP多媒体子系统性能测试的方法的流程图;xa0图2是根据本发明实施例的IMS性能测试组网的示意图;xa0图3是根据本发明实施例的优选的IP多媒体子系统性能测试的方法的流程图;xa0图4是根据本发明实施例的IP多媒体子系统性能测试的装置的示意图。xa0
具体实施方式功能概述xa0考虑到相关技术中IMS系统性能测试中自动化程度不高,测试效率低,本发明实施例提供了一种IP多媒体子系统性能测试的方法及装置,该方法包括:编制测试用例脚本;根据测试用例脚本和测试工具的控制参数编写脚本执行命令,其中,脚本执行命令用于向测试工具发出命令;编写性能数据采集命令脚本,其中,性能数据采集命令脚本用于在性能测试过程中进行数据采集;通过脚本执行命令和性能数据采集命令脚本调用测试工具执行性能测试。xa0性能指标验证,所采用的测试用例基本不变,所需采集的性能数据也相对固定,这给用例的自动化执行和性能数据的自动采集提xa0供了极大可能性。经过反复实验,利用自动化测试思想,发明了一种可以切实提高IMS系统性能测试效率的方法。xa0需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。xa0方法实施例xa0根据本发明的实施例,提供了一种IP多媒体子系统性能测试的方法。xa0图1是根据本发明实施例的IP多媒体子系统性能测试的方法的流程图。xa0如图1所示,该方法包括如下的步骤S102至步骤S108:xa0步骤S102,编制测试用例脚本;xa0步骤S104,根据测试用例脚本和测试工具的控制参数编写脚本执行命令,其中,脚本执行命令用于向测试工具发出命令;xa0步骤S106,编写性能数据采集命令脚本,其中,性能数据采集命令脚本用于在性能测试过程中进行数据采集;xa0步骤S108,通过脚本执行命令和性能数据采集命令脚本调用测试工具执行性能测试。xa0下面将结合实例对本发明实施例的实现过程进行详细描述。xa0需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出xa0了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。xa0IMS的核心功能实体是呼叫会话控制功能(Callxa0Sessionxa0ControlFunction,简称为CSCF),其实现是基于会话初始协议(SessionInitiationxa0Protocol,简称为SIP)的,它向上层服务平台提供标准接口,从而使业务独立于呼叫控制。IMS系统性能测试工具的实现方法一般都是通过模拟大量的用户设备(Userxa0Equipment,简称为UE)向IMS网络发起业务来进行测试的。测试工具可以是测试仪器,也可以是纯软件工具,关键是能模拟大批量真实UE发起业务。相对于测试仪器,软件测试工具更易于灵活定制业务流程和实现复杂的测试场景。本发明就是在利用软件测试工具SIPp性能测试工具基础上提出和实现的。xa0为了测试软件自身能够提供更高的性能,不至于成为系统性能测试的测试瓶颈,测试工具一般运行于相对Windows而言性能更高的Linux系统下。Linux系统自带的cron服务程序,主要负责一些计划任务的调用和执行,它可以根据配置文件的设定执行特定的任务。Linux系统下的shell则提供了更为强大的编程功能。前面已经提到,性能指标验证所采用的测试用例基本不变,所需采集的性能数据也相对固定,在这样的前提下,我们就可以利用系统编程实现用例的自动执行和数据自动化采集工作。我们所需做的主要有两件事,一件是用例的自动化执行,这需要事先编制好测试所需的测试用例脚本,设置cron配置文件,通过cron调用测试工具执行预定测试用例。另外一件需要做的事就是性能数据的自动化采集,这需要编写对应的shell脚步程序,脚本中包含性能数据采集命令,再利用cron程序调用编制好的shell程序,实现性能数据的同步采集工作。xa0图2是根据本发明实施例的IMS性能测试组网的示意图。xa0如图2所示,测试终端采用安装Linux系统的计算机模拟UE实现。测试终端可以有多台,测试终端通过IP网络接入IMS核心网络。xa0图3是根据本发明实施例的优选的IP多媒体子系统性能测试的方法的流程图。xa0如图3所示,该方法可以包括以下步骤:xa0步骤S301,组建网络测试环境,测试环境组网示意图参见附图1。测试终端采用安装Linux系统的计算机模拟UE实现。测试终端可以有多台,测试终端通过IP网络接入IMS核心网络;xa0步骤S302,准备性能测试用例脚本。根据性能指标验证内容,结合具体性能测试工具(优选地,可以采用SIPp性能测试工具)编制测试用例脚本,备用;xa0步骤S303,在测试终端上,利用shell编程编写测试用例执行脚本,为步骤S302中编写的每个待执行用例编写脚本执行命令,并通过命令将用例执行结果写进log文件。根据对测试工具的研究,要做到测试的自动化,Shell脚本中需要将测试工具的一些控制参数(该控制参数可以是测试工具使用的IP和端口、对端网元IP和端口、初始呼叫频率、动态呼叫频率、业务并发数、呼叫次数等)以脚本程序自动执行的方式向工具发出控制命令,以动态调整消息呼叫频率为例,可以通过shell脚本向工具命令侦听端口(SIPp侦听端口为8888+SIPp实例号)自动发出呼叫频率控制命令来提高或者降低呼叫频率,测试工具接收到控制命令后会根据命令所携带的参数对呼叫频率进行调整,从而达到代替测试人员手工操作的目的,同时可以实现更精确和复杂地控制,在该实施例中,所述脚本执行命令对所述测试用例脚本进行调用以实现对测试工具的控制,其中,xa0当对系统进行动态性能测试或者压力测试时,可以根据特定的曲线模型动态调整呼叫频率,更逼真地模拟真实应用场景。另外,对不同用例的执行结果需要通过脚本命令自动写入结果记录文件保存,这也是性能测试重要的参考数据。将以上shell脚本存储为文件备用;xa0步骤S304,在IMS核心网元调试机上编写性能数据采集命令脚本,脚本中同时把命令执行结果写进对应log文件,以供测试人员汇总分析。不同的系统实现,数据采集命令可能有所不同,关键是要通过shell脚本程序使数据采集命令得以自动执行。将以上shell脚本存储为文件备用;xa0步骤S305,在测试终端上,编写cron配置文件,计划并设定具体用例执行时间,配置文件中引用步骤S303中编写的shell脚本文件;xa0步骤S306,在IMS核心网元调试机上,编写cron配置文件,任务计划执行时间与步骤S305中测试用例执行时间对应,并在配置文件中引用步骤S304中编写的命令脚本文件,即,本发明可以实现在预设的时间来执行性能测试;xa0步骤S307,测试结果分析。测试执行结束,由测试人员对测试执行记录和采集的性能数据进行统计分析,以此判断系统性能是否满足性能指标要求。xa0通过以上步骤的操作,测试终端上cron服务程序将在测试人员设定的计划时间自动执行预定测试用例,调试机上自动执行性能数据采集命令,并记录结果。测试执行结束,测试人员只需对用例执行记录和性能数据采集记录汇总整理,统计出系统实际性能,与既xa0定性能指标进行比较,即可判断出实际系统性能与既定性能指标的差距。xa0从以上的描述中,可以看出,本发明实现了如下技术效果:xa0通过以上实现,可以让测试在预定的时间自动执行,甚至可以在夜间无人值守情况下运行。执行完毕,由测试人员对测试记录结果进行统计分析,用实际测试结果数据与既定性能指标进行比对,从而完成性能验证测试工作。该测试方法的应用,不仅可以让测试人员从重复的性能验证执行操作中解脱出来,节省人力,同时也节省了时间,提高了测试效率。xa0装置实施例xa0根据本发明的实施例,提供了一种IMS系统性能测试的装置。xa0根据本发明的实施例的IMS系统性能测试的装置能够用于实现根据本发明的实施例的IMS系统性能测试的方法。xa0图4是根据本发明实施例的IP多媒体子系统性能测试的装置的示意图。xa0如图4所示,该装置包括:测试用例脚本401、测试用例脚本执行模块403和性能数据采集模块405。xa0具体地,测试用例脚本401;测试用例脚本执行模块403用于向测试工具发出命令,通过调用所述测试用例脚本401来实现对测试工具的控制;性能数据采集模块405用于在性能测试过程中进行数据采集。xa0显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。xa0以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。xa0